package cn.itsnkkka.producer;

import cn.itsnkkka.domain.dto.BRabbitMQObjectDTO;
import cn.itsnkkka.domain.dto.RabbitMQObjectDTO;
import cn.itsnkkka.domain.enums.RabbitMQMessageTypeEnum;
import cn.itsnkkka.utils.MQUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author xuezipeng
 * @date 2023-04-23 11:39
 */
@Component
@Slf4j
public class BProducerTemplate extends AbstractProducerTemplate{

    @Override
    public boolean producer(RabbitMQObjectDTO objectDTO) {
        // 1.转换为目标发送对象
        BRabbitMQObjectDTO transform = MQUtils.transform(objectDTO, BRabbitMQObjectDTO.class);
        // TODO 2.这里可以做一些逻辑处理 用责任链来校验参数是否合法等；

        // 3.发送消息
        return super.sendMessage(RabbitMQMessageTypeEnum.MESSAGE_TYPE_B, transform);
    }

}
